package com.crcode.crm.controller.module;

import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.crcode.crm.bean.module.ModuleBean;
import com.crcode.crm.service.module.ModuleService;
import com.crcode.crm.utils.PageVo;
import com.crcode.crm.utils.ResultPageUtil;
import com.crcode.crm.utils.ResultUtil;

/**
 * 模块操控层
 * @author lxw
 * @date 2019年1月22日
 */
@Controller
public class ModuleController {

	@Resource(name = "moduleService")
	private ModuleService moduleService;
	
	/**
	 * 分页查询
	 * @author lxw
	 * @date 2019年1月22日
	 * @param param
	 * @param vo
	 * @return
	 */
	@RequestMapping(value="/module/findBySpec",method=RequestMethod.POST)
	@ResponseBody
	public ResultPageUtil findBySpec(HttpServletRequest request,@RequestParam Map<String, Object> param,PageVo vo){
		
		return this.moduleService.findBySpec(param, vo);
	}
	/**
	 * 新增OR编辑保存
	 * @author lxw
	 * @date 2019年1月22日
	 * @param module
	 * @return
	 */
	@RequestMapping(value="/module/addOrEditSave",method=RequestMethod.POST)
	@ResponseBody
	public ResultUtil addOrEditSave(HttpServletRequest request,ModuleBean module){
		
		return this.moduleService.addOrEditSave(module);
	}
	/**
	 * 删除
	 * @author lxw
	 * @date 2019年1月22日
	 * @param uuids
	 * @return
	 */
	@RequestMapping(value="/module/deleteModuleByUuids",method=RequestMethod.POST)
	@ResponseBody
	public ResultUtil deleteModuleByUuids(HttpServletRequest request,String uuids){
		
		return this.moduleService.deleteByUUids(uuids);
	}
	
	/**
	 * 加载模块树形数据
	 * @author lxw
	 * @date 2019年1月22日
	 * @param request
	 * @return
	 */
	@RequestMapping(value="/module/loadModuleTree",method=RequestMethod.POST)
	@ResponseBody
	public Map<String, Object> loadModuleTree(HttpServletRequest request){

		return this.moduleService.loadModuleTree();
	}
}
